/**
 * 
 */
package cl.duocap.refaxion.view.bean;

import java.io.Serializable;

import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import cl.duocap.refaxion.dto.VehiculoDTO;
import cl.duocap.refaxion.servicios.VehiculoService;

/**
 * @author rentonx
 *
 */
@ManagedBean(name = "mainVehiculoBean")
@SessionScoped
public class MainVehiculoBean implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 
	 */
	private List<VehiculoDTO> listaVehiculosIngresadosDtos;
	private  int idVehiculo;
	private  String  matricula;
	private  String cliente;
	private  int  idMarca;
	private String marcaDescripcion;
	private  int  idModelo;
	private String modeloDescripcion;
	private  String  color;
	private  String  fechaIngreso;
	private  int  kilometraje;
	private  String  vin;
	private  int  estado;
	private int vehiculoEliminar;

	
	@PostConstruct
	public void inicio(){
		if (FacesContext.getCurrentInstance().isPostback()) {
			return;
		}
	}
	
	public String listaVehiculos(){
		
		try {
			
			VehiculoService vehiculo = new VehiculoService();
			listaVehiculosIngresadosDtos = vehiculo.obtenerTodosVehiculos();
			return "mainVehiculo.xhtml?faces-redirect=true";
			
		} catch (Exception e) {
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, e.getMessage(), e.getMessage()));
			System.out.println("errorLista Vehiculos");
			return null;
		}
		
		
	}

	public void listenerEliminarVehiculo(int idVehiculo){		
		setVehiculoEliminar(idVehiculo);
	}
	
	public String confirmareliminarVehiculo(){

		try {

			VehiculoService vehiculo = new VehiculoService();
			if(!vehiculo.eliminarVehiculo(vehiculoEliminar)){
				return "mainVehiculo?faces-redirect=true";
			}else{
				return "mainVehiculo?faces-redirect=true";
			}
			
		} catch (Exception e) {
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, e.getMessage(), e.getMessage()));
			System.out.println("errorLista Usuarios");
			return "error";
		}	
			
	}
	
	public String listenerEditarVehiculo(String idVehiculoEditar){

		String url = "/mantenedor/vehiculo/formVehiculoEditar?faces-redirect=true&idVehiculo=" + idVehiculoEditar;			
		return url;
	}
	
	public String listenerVerVehiculo(String idVehiculoVer){

		String url = "/mantenedor/vehiculo/formVehiculoVer?faces-redirect=true&idVehiculo=" + idVehiculoVer;			
		return url;
	}
	
	
	
	
	public MainVehiculoBean() {
		
	}



	public List<VehiculoDTO> getListaVehiculosIngresadosDtos() {
		return listaVehiculosIngresadosDtos;
	}



	public void setListaVehiculosIngresadosDtos(
			List<VehiculoDTO> listaVehiculosIngresadosDtos) {
		this.listaVehiculosIngresadosDtos = listaVehiculosIngresadosDtos;
	}



	public int getIdVehiculo() {
		return idVehiculo;
	}



	public void setIdVehiculo(int idVehiculo) {
		this.idVehiculo = idVehiculo;
	}



	public String getMatricula() {
		return matricula;
	}


	public void setMatricula(String matricula) {
		this.matricula = matricula;
	}

	public String getColor() {
		return color;
	}


	public void setColor(String color) {
		this.color = color;
	}



	public String getFechaIngreso() {
		return fechaIngreso;
	}


	public void setFechaIngreso(String fechaIngreso) {
		this.fechaIngreso = fechaIngreso;
	}


	public int getKilometraje() {
		return kilometraje;
	}


	public void setKilometraje(int kilometraje) {
		this.kilometraje = kilometraje;
	}


	public String getVin() {
		return vin;
	}


	public void setVin(String vin) {
		this.vin = vin;
	}


	public int getEstado() {
		return estado;
	}


	public void setEstado(int estado) {
		this.estado = estado;
	}


	public String getCliente() {
		return cliente;
	}


	public void setCliente(String cliente) {
		this.cliente = cliente;
	}

	public int getIdMarca() {
		return idMarca;
	}

	public void setIdMarca(int idMarca) {
		this.idMarca = idMarca;
	}

	public int getIdModelo() {
		return idModelo;
	}

	public void setIdModelo(int idModelo) {
		this.idModelo = idModelo;
	}

	public String getMarcaDescripcion() {
		return marcaDescripcion;
	}

	public void setMarcaDescripcion(String marcaDescripcion) {
		this.marcaDescripcion = marcaDescripcion;
	}

	public String getModeloDescripcion() {
		return modeloDescripcion;
	}

	public void setModeloDescripcion(String modeloDescripcion) {
		this.modeloDescripcion = modeloDescripcion;
	}

	public int getVehiculoEliminar() {
		return vehiculoEliminar;
	}

	public void setVehiculoEliminar(int vehiculoEliminar) {
		this.vehiculoEliminar = vehiculoEliminar;
	}
	

}
